An Empirical Study of Design Patterns and Software Quality
نویسندگان
چکیده
We present an empirical study of the impact of design patterns on quality attributes in the context of software maintenance and evolution. Our first hypothesis verifies software engineering lore: design patterns impact software quality positively. We show that, contrary to popular beliefs, design patterns in practice impact negatively several quality attributes, thus providing concrete evidence against common lore. We then study design patterns and object-oriented best practices by formulating a second hypothesis on the impact of these principles on quality. We show that results for some design patterns cannot be explained and conclude on the need for further studies on the relation between design patterns and object-oriented best practices. Thus, we bring further evidence that design patterns should be used with caution during development because they may actually impede maintenance and evolution.
منابع مشابه
How Novice Software Engineers Apply User Interface Design Patterns: An Empirical Study
Conveying a positive User eXperience (UX) is essential for the success of any application, as it affects use a product. Nevertheless, novice software engineers may have difficulties in finding an appropriate solution for UX problems due to their lack of knowledge in interface design. User interface design patterns are well-working solutions to user problems that occur repeatedly which can help ...
متن کاملRelationship between design patterns defects and crosscutting concern scattering degree: an empirical study
Design patterns are solutions to recurring design problems, aimed at increasing reuse, code quality and, above all, maintainability and resilience to changes. Despite such advantages, the usage of design patterns implies the presence of crosscutting code implementing the pattern usage and access from other system components. When the system evolves, the presence of crosscutting code can cause r...
متن کاملAn Empirical Study on Design Pattern Usage on Open-Source Software
Currently, open source software communities are thriving and the number of projects that are available through well known code repositories is rapidly increasing over the years. The amount of code that is freely available to developers facilitates high reuse opportunities. One of the major concerns of developers when reusing code is the quality of the code that is going to be reused. Design pat...
متن کاملAn Empirical Study of the Effect of Design Patterns on Class Structural Quality
Design patterns are standardized solutions to commonly encountered problems using the object-oriented programming paradigm. Applying design patterns can speed up software development processes through the reuse of tested, proven templates, or development paradigms. Accordingly, design patterns have been widely used in software industry to build modern software programs. However, as different de...
متن کاملDesign Pattern Decay – a Study of Design Pattern Grime and Its Impact on Quality and Technical Debt
Technical debt is a financial metaphor describing the tradeoff between the short term benefits gained and long term consequences of design and implementation shortcuts taken over the evolution of a software product. These shortcuts typically manifest as design disharmonies such as code smells, anti-patterns, design pattern grime, modularity violations, or violations of good coding rules. Curren...
متن کامل